---
title: Kernekonfiguration
description: Ultracites grundkonfiguration med rammeagnostiske lint-regler.
---

Kernekonfigurationen for Ultracite leverer et omfattende sæt rammeagnostiske lint-regler og formateringsindstillinger. Dette er fundamentet, som alle andre frameworkspecifikke konfigurationer bygger videre på.

## Installation

Kernekonfigurationen inkluderes automatisk, når du kører:

```bash
npx ultracite init
```

Eller tilføj den manuelt til din `biome.jsonc`:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core"]
}
```

## Oversigt

Kernekonfigurationen indeholder hundredevis af strenge lint-regler, der dækker:

- **Tilgængelighed (a11y)**: Påkræv ARIA-attributter, semantisk HTML og tastaturnavigation
- **Kompleksitet**: Reducer kognitiv kompleksitet og håndhæv bedste praksis
- **Korrekthed**: Forebyg almindelige fejl og håndhæv typesikkerhed
- **Ydeevne**: Optimér kode for bedre runtime-ydeevne
- **Sikkerhed**: Forebyg sikkerhedssårbarheder
- **Stil**: Håndhæv konsistent kodestil
- **Mistænkeligt**: Fang mistænkelige mønstre, der kan indikere fejl

## Formatteringsindstillinger

- **Indrykning**: 2 mellemrum
- **Linjebredde**: 80 tegn
- **Linjeafslutning**: LF (Unix-stil)
- **Semikoloner**: Altid påkrævet
- **Anførselstegn**: Dobbelte anførselstegn for JavaScript/TypeScript og JSON
- **Sluttende kommaer**: ES5-stil (flere-linje arrays/objekter)
- **Parenteser ved arrow-funktioner**: Inkluder altid parenteser

## Nøglefunktioner

### TypeScript-strenghed

Kernekonfigurationen aktiverer TypeScripts strenge kontroller:

- Afskrækkes ved brug af `any` (`noExplicitAny: error`)
- Kræver håndtering af `null/undefined`
- Foretrækker eksplicitte typer i visse situationer
- Håndhæver typesikkerhed på tværs af kodebasen

### ESLint-anbefalede ækvivalenter

Almindelige bedste-praksis-regler er inkluderet:

- Ingen ubrugte variabler (`noUnusedVariables: error`)
- Ingen ubrugte imports (`noUnusedImports: error`)
- Ingen eksplicit eval (`noGlobalEval: error`)
- Ingen prototype-pollution (`noPrototypeBuiltins: error`)

### Tilgængelighed som standard

Regler ækvivalente med tilgængelighedsstandarder:

- ARIA-attributter skal være gyldige
- Semantiske HTML-elementer foretrækkes
- Tastaturnavigationsstøtte påkrævet
- Alt-tekst for billeder påkrævet

### Node.js-understøttelse

Miljøspecifik håndtering:

- Genkender Node.js-globals (`module`, `process`)
- Håndhæver `node:`-protokol for indbyggede moduler
- Understøtter både CommonJS og ESM

## Fuldstændig regelreference

### Tilgængelighed (a11y)

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noAccessKey` | `error` | Håndhæv, at `accessKey`-attributten ikke bruges på nogen HTML-elementer. |
| `noAriaHiddenOnFocusable` | `error` | Håndhæv, at `aria-hidden="true"` ikke sættes på fokuserbare elementer. |
| `noAriaUnsupportedElements` | `error` | Håndhæv, at elementer, der ikke understøtter ARIA-roller, tilstande og egenskaber, ikke har disse attributter. |
| `noAutofocus` | `off` | Håndhæv, at `autoFocus`-prop ikke bruges på elementer. |
| `noDistractingElements` | `error` | Håndhæver, at der ikke bruges distraherende elementer. |
| `noHeaderScope` | `error` | Scope-proppen bør kun bruges på `<th>`-elementer. |
| `noInteractiveElementToNoninteractiveRole` | `error` | Håndhæv, at ikke-interaktive ARIA-roller ikke tildeles interaktive HTML-elementer. |
| `noLabelWithoutControl` | `error` | Håndhæv, at et label-element eller komponent har en tekstlabel og en associeret input. |
| `noNoninteractiveElementInteractions` | `error` | Forbyd brug af event-handlere på ikke-interaktive elementer. |
| `noNoninteractiveElementToInteractiveRole` | `error` | Håndhæv, at interaktive ARIA-roller ikke tildeles ikke-interaktive HTML-elementer. |
| `noNoninteractiveTabindex` | `error` | Håndhæv, at `tabIndex` ikke tildeles ikke-interaktive HTML-elementer. |
| `noPositiveTabindex` | `error` | Forhindre brugen af positive heltal på `tabIndex`-egenskaben. |
| `noRedundantAlt` | `error` | Håndhæv, at img alt-prop ikke indeholder ordene `image`, `picture`, eller `photo`. |
| `noRedundantRoles` | `error` | Håndhæv, at eksplicit rolle-prop ikke er den samme som implicit/standard rolle på et element. |
| `noStaticElementInteractions` | `error` | Håndhæv, at statiske, synlige elementer (såsom `<div>`) med click-handlere bruger korrekt role-attribut. |
| `noSvgWithoutTitle` | `error` | Håndhæver brugen af title-elementet for `svg`-elementet. |
| `useAltText` | `error` | Håndhæv, at alle elementer, der kræver alternativ tekst, har meningsfuld information til slutbrugeren. |
| `useAnchorContent` | `error` | Håndhæv, at anchors har indhold, og at indholdet er tilgængeligt for skærmlæsere. |
| `useAriaActivedescendantWithTabindex` | `error` | Håndhæv, at `tabIndex` tildeles ikke-interaktive HTML-elementer med aria-activedescendant. |
| `useAriaPropsForRole` | `error` | Håndhæv, at elementer med ARIA-roller har alle krævede ARIA-attributter for den rolle. |
| `useAriaPropsSupportedByRole` | `error` | Håndhæv, at ARIA-egenskaber er gyldige for de roller, som elementet understøtter. |
| `useButtonType` | `error` | Håndhæver brugen af `type`-attributten for knap-elementer. |
| `useFocusableInteractive` | `error` | Elementer med interaktiv rolle og interaktionshandlere skal være fokuserbare. |
| `useHeadingContent` | `error` | Håndhæv, at overskriftselementer (`h1`, `h2`, osv.) har indhold, og at indholdet er tilgængeligt for skærmlæsere. |
| `useHtmlLang` | `error` | Håndhæv, at `html`-elementet har `lang`-attribut. |
| `useIframeTitle` | `error` | Håndhæver brugen af title-attributten for `iframe`-elementet. |
| `useKeyWithClickEvents` | `error` | Håndhæv, at `onClick` ledsages af mindst én af følgende: `onKeyUp`, `onKeyDown`, `onKeyPress`. |
| `useKeyWithMouseEvents` | `error` | Håndhæv, at `onMouseOver` / `onMouseOut` ledsages af `onFocus` / `onBlur`. |
| `useMediaCaption` | `error` | Håndhæver, at audio- og videoelementer skal have en track til undertekster. |
| `useSemanticElements` | `error` | Registrerer brug af role-attributter i JSX-elementer og foreslår at bruge semantiske elementer i stedet. |
| `useValidAnchor` | `error` | Håndhæv, at alle anchors er gyldige og navigerbare elementer. |
| `useValidAriaProps` | `error` | Sikrer, at ARIA-egenskaber `aria-*` er gyldige. |
| `useValidAriaRole` | `error` | Elementer med ARIA-roller skal bruge en gyldig, ikke-abstrakt ARIA-rolle. |
| `useValidAriaValues` | `error` | Håndhæv, at ARIA-tilstands- og -egenskabsværdier er gyldige. |
| `useValidAutocomplete` | `error` | Brug gyldige værdier for autocomplete-attributten på input-elementer. |
| `useValidLang` | `error` | Sikr, at værdien til `lang`-attributten er et korrekt ISO-sprog og/eller landekode. |
| `useGenericFontNames` | `error` | Forbyd manglende generic family keyword inden for font-familier (CSS). |

### Kompleksitet

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noAdjacentSpacesInRegex` | `error` | Forbyd uklar brug af på hinanden følgende blanktegn i regulære udtryk-literals. |
| `noArguments` | `error` | Forbyd brugen af `arguments`. |
| `noBannedTypes` | `error` | Forbyd primitive type-aliaser og misvisende typer. |
| `noCommaOperator` | `error` | Forbyd komma-operatoren. |
| `noEmptyTypeParameters` | `error` | Forbyd tomme typeparametre i typealiaser og interfaces. |
| `noExcessiveCognitiveComplexity` | `error` | Forbyd funktioner, der overskrider en given Cognitive Complexity-score. |
| `noExcessiveLinesPerFunction` | `off` | Begræns antallet af kode-linjer i en funktion. |
| `noExcessiveNestedTestSuites` | `error` | Denne regel håndhæver en maksimal dybde for indlejrede `describe()` i testfiler. |
| `noExtraBooleanCast` | `error` | Forbyd unødvendige boolean-casts. |
| `noFlatMapIdentity` | `error` | Forbyd at bruge unødvendig callback i flatMap. |
| `noForEach` | `error` | Foretræk `for...of` i stedet for `Array.forEach`. |
| `noImplicitCoercions` | `off` | Forbyd forkortede typekonverteringer. |
| `noImportantStyles` | `off` | Forbyd brug af `!important`-stilen (CSS). |
| `noStaticOnlyClass` | `error` | Denne regel rapporterer, når en klasse ikke har ikke-statiske medlemmer. |
| `noThisInStatic` | `error` | Forbyd `this` og `super` i statiske kontekster. |
| `noUselessCatch` | `error` | Forbyd unødvendige catch-klammer. |
| `noUselessConstructor` | `error` | Forbyd unødvendige konstruktører. |
| `noUselessContinue` | `error` | Undgå brug af unødvendig continue. |
| `noUselessEmptyExport` | `error` | Forbyd tomme exports, der ikke ændrer noget i en modulfil. |
| `noUselessEscapeInRegex` | `error` | Forbyd unødvendige escape-sekvenser i regulære udtryk-literals. |
| `noUselessFragments` | `error` | Forbyd unødvendige fragments. |
| `noUselessLabel` | `error` | Forbyd unødvendige labels. |
| `noUselessLoneBlockStatements` | `error` | Forbyd unødvendige indlejrede blok-udtryk. |
| `noUselessRename` | `error` | Forbyd omdøbning af import, export og destrukturerede assignmenter til samme navn. |
| `noUselessStringConcat` | `error` | Forbyd unødvendig sammenkædning af string- eller template-literals. |
| `noUselessStringRaw` | `error` | Forbyd unødvendig `String.raw` i template-string-literals uden escape-sekvenser. |
| `noUselessSwitchCase` | `error` | Forbyd værdiløse case i switch-sætninger. |
| `noUselessTernary` | `error` | Forbyd ternære operatorer, når enklere alternativer findes. |
| `noUselessThisAlias` | `error` | Forbyd værdiløs aliasing af `this`. |
| `noUselessTypeConstraint` | `error` | Forbyd at bruge `any` eller `unknown` som typekonstraint. |
| `noUselessUndefinedInitialization` | `error` | Forbyd initialisering af variabler til `undefined`. |
| `noVoid` | `error` | Forbyd brugen af `void`-operatoren, som er en usædvanlig operator. |
| `useArrowFunction` | `error` | Brug arrow-funktioner frem for funktionserklæringer. |
| `useDateNow` | `error` | Brug `Date.now()` til at få antallet af millisekunder siden Unix-epoken. |
| `useFlatMap` | `error` | Fremmer brugen af `.flatMap()` når `map().flat()` bruges sammen. |
| `useIndexOf` | `error` | Foretræk `Array#{indexOf,lastIndexOf}()` frem for `Array#{findIndex,findLastIndex}()` ved søgning efter indeks. |
| `useLiteralKeys` | `error` | Håndhæv brug af literal access til properties frem for computed property access. |
| `useNumericLiterals` | `error` | Forbyd `parseInt()` og `Number.parseInt()` til fordel for binære, oktale og hexadecimale litteraler. |
| `useOptionalChain` | `error` | Håndhæv brug af kortfattet optional chaining i stedet for kædede logiske udtryk. |
| `useRegexLiterals` | `error` | Håndhæv brugen af regulære udtryksliterals frem for `RegExp`-konstruktøren når muligt. |
| `useSimpleNumberKeys` | `error` | Forbyd nummer-literal objektmedlemsnavne, som ikke er base 10 eller bruger underscore som separator. |
| `useSimplifiedLogicExpression` | `error` | Fjern redundante termer fra logiske udtryk. |
| `useWhile` | `error` | Håndhæv brug af while-løkker i stedet for for-løkker når initialiserings- og opdateringsudtryk ikke er nødvendige. |

### Korrekthed

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noConstAssign` | `error` | Forhindrer at const-variabler bliver tildelt på ny. |
| `noConstantCondition` | `error` | Forbyd konstante udtryk i betingelser. |
| `noConstantMathMinMaxClamp` | `error` | Forbyd brugen af `Math.min` og `Math.max` til at clamp en værdi hvor resultatet er konstant. |
| `noConstructorReturn` | `error` | Forbyd at returnere en værdi fra en constructor. |
| `noEmptyCharacterClassInRegex` | `error` | Forbyd tomme character classes i regulære udtryk-literals. |
| `noEmptyPattern` | `error` | Forbyder tomme destruktureringsmønstre. |
| `noGlobalDirnameFilename` | `error` | Forbyd brugen af `__dirname` og `__filename` i global scope. |
| `noGlobalObjectCalls` | `error` | Forbyd at kalde globale objekt-egenskaber som funktioner. |
| `noInnerDeclarations` | `error` | Forbyd funktioner og `var`-deklarationer, der er tilgængelige uden for deres blok. |
| `noInvalidBuiltinInstantiation` | `error` | Sikr, at indbyggede typer instantieres korrekt. |
| `noInvalidConstructorSuper` | `error` | Forhindrer forkert brug af `super()` inde i klasser. |
| `noInvalidDirectionInLinearGradient` | `error` | Forbyd ikke-standard retningværdier for linear-gradient-funktioner (CSS). |
| `noInvalidGridAreas` | `error` | Forbyder ugyldige navngivne grid-områder i CSS Grid Layouts (CSS). |
| `noInvalidPositionAtImportRule` | `error` | Forbyd brug af `@import` at-rules på ugyldige positioner (CSS). |
| `noInvalidUseBeforeDeclaration` | `error` | Forbyd brug af variabler og funktionsparametre før deres deklaration. |
| `noMissingVarFunction` | `error` | Forbyd manglende `var`-funktion for css-variabler (CSS). |
| `noNodejsModules` | `off` | Forbyd brug af Node.js indbyggede moduler. |
| `noNonoctalDecimalEscape` | `error` | Forbyd `\8` og `\9` escape-sekvenser i string-literals. |
| `noPrecisionLoss` | `error` | Forbyd literal tal, der mister præcision. |
| `noPrivateImports` | `off` | Begræns imports af private exports. |
| `noProcessGlobal` | `off` | Forbyd brugen af `process` global. |
| `noRestrictedElements` | `error` | Forbyd brug af konfigurerede elementer. |
| `noSelfAssign` | `error` | Forbyd assignmenter hvor begge sider er nøjagtig ens. |
| `noSetterReturn` | `error` | Forbyd at returnere en værdi fra en setter. |
| `noStringCaseMismatch` | `error` | Forbyd sammenligning af udtryk, der ændrer strengens case med en ikke-kompatibel værdi. |
| `noSwitchDeclarations` | `error` | Forbyd leksikale deklarationer i switch-clauses. |
| `noUndeclaredDependencies` | `off` | Forbyd brug af dependencies, der ikke er specificeret i `package.json`. |
| `noUndeclaredVariables` | `error` | Forhindrer brug af variabler, der ikke er deklareret i dokumentet. |
| `noUnknownFunction` | `error` | Forbyd ukendte CSS value functions (CSS). |
| `noUnknownMediaFeatureName` | `error` | Forbyd ukendte media feature-navne (CSS). |
| `noUnknownProperty` | `error` | Forbyd ukendte properties (CSS). |
| `noUnknownPseudoClass` | `error` | Forbyd ukendte pseudo-class selectors (CSS). |
| `noUnknownPseudoElement` | `error` | Forbyd ukendte pseudo-element selectors (CSS). |
| `noUnknownTypeSelector` | `error` | Forbyd ukendte type-selectors (CSS). |
| `noUnknownUnit` | `error` | Forbyd ukendte CSS-enheder (CSS). |
| `noUnmatchableAnbSelector` | `error` | Forbyd umatchbare An+B-selectors (CSS). |
| `noUnreachable` | `error` | Forbyd unreachable kode. |
| `noUnreachableSuper` | `error` | Sikrer, at `super()` konstruktøren kaldes nøjagtigt én gang på hver kodevej i en klassekonstruktor før dette tilgås. |
| `noUnsafeFinally` | `error` | Forbyd kontrolflow-udsagn i finally-blokke. |
| `noUnsafeOptionalChaining` | `error` | Forbyd brug af optional chaining i kontekster, hvor undefined-værdien ikke er tilladt. |
| `noUnusedFunctionParameters` | `error` | Forbyd ubrugte funktionsparametre. |
| `noUnusedImports` | `error` (safe fix override) | Forbyd ubrugte imports. |
| `noUnusedLabels` | `error` | Forbyd ubrugte labels. |
| `noUnusedPrivateClassMembers` | `error` | Forbyd ubrugte private klassemedlemmer. |
| `noUnusedVariables` | `error` | Forbyd ubrugte variabler. |
| `noVoidTypeReturn` | `error` | Forbyd at returnere en værdi fra en funktion med returtypen `void`. |
| `useGraphqlNamedOperations` | `error` | Håndhæv angivelse af navn på GraphQL-operationer. |
| `useImageSize` | `error` | Håndhæver, at `<img>`-elementer har både width og height attributter. |
| `useImportExtensions` | `off` | Håndhæv filendelser for relative imports. |
| `useIsNan` | `error` | Kræv kald til `isNaN()` ved check for NaN. |
| `useJsonImportAttributes` | `off` | Håndhæver brug af `{ type: "json" }` for JSON-moduleimports. |
| `useParseIntRadix` | `error` | Håndhæv konsekvent brug af radix-argumentet ved `parseInt()`. |
| `useSingleJsDocAsterisk` | `error` | Håndhæv, at JSDoc-kommentarlinjer starter med en enkelt asterisk, undtagen den første. |
| `useUniqueElementIds` | `off` | Forhindre brug af statisk string literal id-attribut på elementer. |
| `useValidForDirection` | `error` | Håndhæv, at `for`-loopets opdateringsklause flytter tælleren i den rigtige retning. |
| `useValidTypeof` | `error` | Denne regel tjekker, at resultatet af et `typeof`-udtryk sammenlignes med en gyldig værdi. |
| `useYield` | `error` | Kræv, at generator-funktioner indeholder `yield`. |

### Nursery

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noContinue` | `off` | Forbyd continue-udsagn. |
| `noDeprecatedImports` | `off` | Begræns imports af deprecierede exports. |
| `noDuplicateDependencies` | `error` | Forhindre opnotering af duplikerede dependencies. |
| `noDuplicatedSpreadProps` | `error` | Forbyd duplikerede properties i spread-props. |
| `noEmptySource` | `error` | Forbyd tomme kildefiler. |
| `noEqualsToNull` | `error` | Forbyd brug af `==` eller `!=` til sammenligning med `null`. Brug `===` eller `!==` i stedet. |
| `noFloatingPromises` | `off` | Kræv, at Promise-lignende udtryk håndteres korrekt. |
| `noForIn` | `off` | Forbyd iteration med for-in-løkke. |
| `noImportCycles` | `off` | Forhindre import-cyklusser. |
| `noIncrementDecrement` | `error` | Forbyd brug af `++` og `--` operatorerne (undtagen i for-loop afterthoughts). |
| `noJsxLiterals` | `off` | Forbyd string-literals inde i JSX-elementer. |
| `noLeakedRender` | `error` | Forhindr problematiske lækkede værdier i JSX (fx 0 eller NaN) fra at blive rendereret. |
| `noMisusedPromises` | `off` | Forbyd at Promises bruges steder, hvor det næsten helt sikkert er en fejl. |
| `noMultiStr` | `error` | Forbyd multiline-strenge ved brug af backslash-fortsættelse. |
| `noParametersOnlyUsedInRecursion` | `error` | Forbyd parametre, der kun bruges i rekursive kald. |
| `noProto` | `error` | Forbyd brug af `__proto__`-egenskaben. |
| `noShadow` | `error` | Forbyd variabeldeklarationer, der overskygger variabler deklareret i ydre scope. |
| `noSyncScripts` | `error` | Forhindre brug af synkrone scripts. |
| `noTernary` | `off` | Forbyd ternære operatorer. |
| `noUnnecessaryConditions` | `off` | Forbyd unødvendige type-baserede betingelser, der statisk kan bestemmes som redundante. |
| `noUnresolvedImports` | `off` | Advar ved import af ikke-eksisterende exports. |
| `noUnusedExpressions` | `error` | Forbyd udtrykssætninger, der hverken er funktionskald eller assignment. |
| `noUselessCatchBinding` | `off` | Forbyd ubrugte `catch`-bindings. |
| `noUselessUndefined` | `error` | Forbyd brug af værdiløst `undefined`. |
| `useArraySortCompare` | `off` | Håndhæv brug af sammenligningsfunktion i `Array.prototype.sort()`. |
| `useConsistentArrowReturn` | `error` | Håndhæv konsistente body-typer i arrow-funktioner. |
| `useConsistentGraphqlDescriptions` | `error` | Kræv, at alle beskrivelser følger samme stil (enten block eller inline) inde i GraphQL-filer. |
| `useDeprecatedDate` | `error` | Kræv at `@deprecated`-direktivet angiver en slette-dato. |
| `useExhaustiveSwitchCases` | `off` | Kræv at switch-case-sætninger er udtømmende. |
| `useExplicitType` | `off` | Håndhæv typer i funktioner, metoder, variabler og parametre. |
| `useFind` | `error` | Håndhæv brug af `Array.prototype.find()` frem for `Array.prototype.filter()` efterfulgt af `[0]` ved søgning efter enkelt resultat. |
| `useMaxParams` | `error` | Håndhæv et maksimum antal parametre i funktionsdefinitioner. |
| `useSortedClasses` | `error` (safe fix override) | Håndhæv sortering af CSS utility-classes. |
| `useSpread` | `error` | Håndhæv brug af spread-operatoren i stedet for `Function.prototype.apply()`. |
| `useUniqueGraphqlOperationName` | `error` | Sikr, at alle GraphQL-operationer i et dokument har unikke navne. |

### Ydeevne

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noAccumulatingSpread` | `error` | Forbyd brug af spread (`...`) syntax på akkumulatorer. |
| `noAwaitInLoops` | `off` | Forbyd `await` inde i løkker. |
| `noBarrelFile` | `error` | Forbyd brug af barrel-filer. |
| `noDelete` | `error` | Forbyd brug af `delete`-operatoren. |
| `noDynamicNamespaceImportAccess` | `error` | Forbyd dynamisk adgang til namespace-imports. |
| `noNamespaceImport` | `error` | Forbyd brug af namespace-imports. |
| `noReExportAll` | `off` | Undgå re-export af alt. |
| `noUnwantedPolyfillio` | `error` | Forhindre duplikerede polyfills fra Polyfill.io. |
| `useGoogleFontPreconnect` | `error` | Sikr, at `preconnect`-attributten bruges ved Google Fonts. |
| `useTopLevelRegex` | `error` | Kræv, at regex-literals deklareres på topniveau. |

### Sikkerhed

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noBlankTarget` | `error` | Forbyd `target="_blank"` uden `rel="noopener"`. |
| `noDangerouslySetInnerHtml` | `error` | Forhindre brug af farlige JSX-props. |
| `noDangerouslySetInnerHtmlWithChildren` | `error` | Rapportér når et DOM-element eller komponent bruger både children og `dangerouslySetInnerHTML`-prop. |
| `noGlobalEval` | `error` | Forbyd brug af global `eval()`. |

### Stil

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noCommonJs` | `off` | Forbyd brug af Common JS modul-system til fordel for ESM-imports. |
| `noDefaultExport` | `off` | Forbyd default exports. |
| `noDoneCallback` | `error` | Forbyd brug af callback i asynkrone tests og hooks. |
| `noEnum` | `error` | Forbyd TypeScript enum. |
| `noExportedImports` | `error` | Forbyd eksport af en importeret variabel. |
| `noImplicitBoolean` | `off` | Forbyd implicit true-værdier på JSX boolean-attributter. |
| `noInferrableTypes` | `error` | Forbyd type-annoteringer for variabler, parametre og klasseegenskaber initialiseret med en literal. |
| `noMagicNumbers` | `off` | Rapporter brug af "magic numbers" — tal brugt direkte i stedet for at blive tildelt navngivne konstante. |
| `noNamespace` | `error` | Forbyd brug af TypeScripts namespaces. |
| `noNegationElse` | `error` | Forbyd negation i betingelsen af et if-statement hvis det har en else-klausul. |
| `noNestedTernary` | `error` | Forbyd indlejrede ternære udtryk. |
| `noNonNullAssertion` | `error` | Forbyd non-null assertions ved brug af `!` postfix-operatoren. |
| `noParameterAssign` | `error` | Forbyd gen-tildeling af funktionsparametre. |
| `noParameterProperties` | `error` | Forbyd brugen af parameter-properties i klassekonstruktører. |
| `noProcessEnv` | `off` | Forbyd brugen af `process.env`. |
| `noRestrictedGlobals` | `error` | Denne regel lader dig angive globale variabelnavne, som du ikke ønsker at bruge i din applikation. |
| `noRestrictedImports` | `error` | Forbyd specificerede moduler når de loades via import eller require. |
| `noRestrictedTypes` | `error` | Forbyd brugerdefinerede typer. |
| `noShoutyConstants` | `error` | Forbyd brug af konstanter hvor værdien er upper-case versionen af navnet. |
| `noSubstr` | `error` | Håndhæv brug af `String.slice()` frem for `String.substr()` og `String.substring()`. |
| `noUnusedTemplateLiteral` | `error` | Forbyd template-literals hvis interpolation og special-tegn-håndtering ikke er nødvendig. |
| `noUselessElse` | `error` | Forbyd else-blok når if-blokken bryder tidligt. |
| `noYodaExpression` | `error` | Forbyd brug af yoda-udtryk. |
| `useArrayLiterals` | `error` | Forbyd `Array`-konstruktører. |
| `useAsConstAssertion` | `error` | Håndhæv brug af `as const` frem for literal type og type-annotering. |
| `useAtIndex` | `error` | Brug `at()` i stedet for heltalsindeksadgang. |
| `useBlockStatements` | `error` | Kræver overholdelse af krølleparentes-konventioner. |
| `useCollapsedElseIf` | `error` | Håndhæv brug af `else if` i stedet for indlejrede `if` i `else`-klasser. |
| `useCollapsedIf` | `error` | Håndhæv brug af enkelt `if` i stedet for indlejrede `if`-klasser. |
| `useComponentExportOnlyModules` | `off` | Håndhæv deklaration af komponenter kun i moduler, der eksporterer React-komponenter eksklusivt. |
| `useConsistentArrayType` | `error` | Kræv konsekvent brug af enten `T[]` eller `Array<T>`. |
| `useConsistentBuiltinInstantiation` | `error` | Håndhæv brug af new for indbyggede typer, undtagen `String`, `Number` og `Boolean`. |
| `useConsistentCurlyBraces` | `off` | Denne regel håndhæver konsekvent brug af krølleparenteser i JSX-atributter og JSX-children. |
| `useConsistentMemberAccessibility` | `error` | Kræv konsekvente accessibility-modifikatorer på klasseegenskaber og -metoder. |
| `useConsistentObjectDefinitions` | `error` | Kræv konsekvent deklaration af objektliterals. |
| `useConst` | `error` | Kræv const-deklarationer for variabler, der kun tildeles én gang. |
| `useDefaultParameterLast` | `error` | Håndhæv at default-funktionsparametre og optionale parametre kommer sidst. |
| `useDefaultSwitchClause` | `error` | Kræv `default`-klause i switch-sætninger. |
| `useDeprecatedReason` | `error` | Kræv angivelse af reason-argumentet ved brug af `@deprecated`-direktivet. |
| `useEnumInitializers` | `error` | Kræv, at hver enum-member værdi er eksplicit initialiseret. |
| `useExplicitLengthCheck` | `off` | Håndhæv eksplicit sammenligning af `length`, `size`, `byteLength` eller `byteOffset`-egenskaber. |
| `useExponentiationOperator` | `error` | Forbyd brugen af `Math.pow` til fordel for `**`-operatoren. |
| `useExportType` | `error` | Fremmer brug af export type for typer. |
| `useExportsLast` | `off` | Kræv, at alle exports deklareres efter alle ikke-export-udsagn. |
| `useFilenamingConvention` | `error` | Håndhæv navnekonventioner for JavaScript- og TypeScript-filenavne (kebab-case, ASCII). |
| `useForOf` | `error` | Denne regel anbefaler en for-of-løkke når en for-løkke bruger et indeks til at hente elementer fra arrayet. |
| `useFragmentSyntax` | `error` | Denne regel håndhæver brug af `<>...</>` frem for `<Fragment>...</Fragment>`. |
| `useGraphqlNamingConvention` | `error` | Validerer, at alle enum-værdier er kapitaliserede. |
| `useGroupedAccessorPairs` | `error` | Håndhæv, at getters og setters for samme property er adskilt adjacently i klasse- og objektdefinitioner. |
| `useImportType` | `error` | Fremmer brug af `import type` til typer. |
| `useLiteralEnumMembers` | `error` | Kræv, at alle enum-medlemmer er literalværdier. |
| `useNamingConvention` | `off` | Navngivningskonventionsregel (deaktiveret). |
| `useNodeAssertStrict` | `error` | Fremmer brug af `node:assert/strict` frem for `node:assert`. |
| `useNodejsImportProtocol` | `error` | Håndhæver brug af `node:`-protokollen for Node.js indbyggede moduler. |
| `useNumberNamespace` | `error` | Brug `Number`-egenskaberne i stedet for globale. |
| `useNumericSeparators` | `error` | Håndhæv brug af numeriske separators i numeriske litteraler. |
| `useObjectSpread` | `error` | Foretræk object spread frem for `Object.assign()` ved konstruktion af nye objekter. |
| `useReadonlyClassProperties` | `error` | Håndhæv markering af medlemmer som readonly hvis de aldrig modificeres uden for konstruktøren. |
| `useSelfClosingElements` | `error` | Forhindr ekstra lukkende tags for komponenter uden children. |
| `useShorthandAssign` | `error` | Kræv assignment-operator shorthand hvor muligt. |
| `useShorthandFunctionType` | `error` | Håndhæv brug af funktionstyper frem for objekttype med call-signaturer. |
| `useSingleVarDeclarator` | `off` | Forbyd multiple variabeldeklarationer i samme variabel-sætning. |
| `useSymbolDescription` | `error` | Kræv en beskrivelsesparameter for `Symbol()`. |
| `useTemplate` | `error` | Foretræk template-literals frem for strengsammenkædning. |
| `useThrowNewError` | `error` | Kræv new ved kast af en fejl. |
| `useThrowOnlyError` | `error` | Forbyd at kaste ikke-`Error`-værdier. |
| `useTrimStartEnd` | `error` | Håndhæv brug af `String.trimStart()` og `String.trimEnd()` frem for `String.trimLeft()` og `String.trimRight()`. |
| `useUnifiedTypeSignatures` | `error` | Forbyd overload-signaturer der kan unificeres til en enkelt signatur. |
| `noDescendingSpecificity` | `error` | Forbyd at en lavere specificitets-selector kommer efter en højere (CSS). |
| `noValueAtRule` | `error` | Forbyd brug af `@value`-regel i css-moduler (CSS). |

### Mistænkeligt

| Regel | Indstilling | Beskrivelse |
|------|---------|-------------|
| `noAlert` | `error` | Forbyd brug af `alert`, `confirm` og `prompt`. |
| `noApproximativeNumericConstant` | `error` | Brug standardkonstanter i stedet for approksimerede litteraler. |
| `noAssignInExpressions` | `error` | Forbyd assignmenter i udtryk. |
| `noAsyncPromiseExecutor` | `error` | Forbyder brug af en async funktion som Promise-executor. |
| `noBiomeFirstException` | `error` | Forhindrer brug af `!`-mønsteret i første position af `files.includes` i konfigurationsfilen. |
| `noBitwiseOperators` | `error` | Forbyd bitwise-operatorer. |
| `noCatchAssign` | `error` | Forbyd gen-tildeling af exceptions i catch-clauses. |
| `noClassAssign` | `error` | Forbyd gen-tildeling af klassemedlemmer. |
| `noCommentText` | `error` | Forhindr at kommentarer indsættes som tekstnoder. |
| `noCompareNegZero` | `error` | Forbyd sammenligning mod `-0`. |
| `noConfusingLabels` | `error` | Forbyd label-statementer der ikke er løkker. |
| `noConfusingVoidType` | `error` | Forbyd void-type uden for generics eller returtyper. |
| `noConsole` | `off` | Forbyd brug af `console`. |
| `noConstEnum` | `error` | Forbyd TypeScript const enum. |
| `noConstantBinaryExpressions` | `error` | Forbyd udtryk hvor operationen ikke påvirker værdien. |
| `noControlCharactersInRegex` | `error` | Forhindrer kontroltegn og visse escape-sekvenser der matcher kontroltegn i regulære udtryk-literals. |
| `noDebugger` | `error` | Forbyd brug af debugger. |
| `noDocumentCookie` | `error` | Forbyd direkte tildelinger til document.cookie. |
| `noDoubleEquals` | `error` | Kræv brug af `===` og `!==`. |
| `noDuplicateAtImportRules` | `error` | Forbyd duplikerede `@import`-regler (CSS). |
| `noDuplicateCase` | `error` | Forbyd duplikerede case-labels. |
| `noDuplicateClassMembers` | `error` | Forbyd duplikerede klassemedlemmer. |
| `noDuplicateCustomProperties` | `error` | Forbyd duplikerede custom properties i declarations (CSS). |
| `noDuplicateElseIf` | `error` | Forbyd duplikerede betingelser i if-else-if kæder. |
| `noDuplicateFields` | `error` | Forbyd duplikerede felter i GraphQL-operationer. |
| `noDuplicateFontNames` | `error` | Forbyd duplikerede navne i font-familier (CSS). |
| `noDuplicateObjectKeys` | `error` | Forbyd to keys med samme navn inde i objekter. |
| `noDuplicateParameters` | `error` | Forbyd duplikerede funktionsparameter-navne. |
| `noDuplicateProperties` | `error` | Forbyd duplikerede properties i declaration blocks (CSS). |
| `noDuplicateSelectorsKeyframeBlock` | `error` | Forbyd duplikerede selectors i keyframe-blocks (CSS). |
| `noDuplicateTestHooks` | `error` | En describe-blok bør ikke indeholde duplikerede hooks. |
| `noEmptyBlock` | `error` | Forbyd tomme CSS-blocks (CSS). |
| `noEmptyBlockStatements` | `error` | Forbyd tomme block-statements og static blocks. |
| `noEmptyInterface` | `error` | Forbyd deklaration af tomme interfaces. |
| `noEvolvingTypes` | `error` | Forbyd at variabler udvikler sig til any-type via reassignment. |
| `noExplicitAny` | `error` | Forbyd brug af any-typen. |
| `noExportsInTest` | `error` | Forbyd brug af export eller module.exports i filer med tests. |
| `noExtraNonNullAssertion` | `error` | Forhindrer forkert brug af non-null assertion `!` i TypeScript-filer. |
| `noFallthroughSwitchClause` | `error` | Forbyd fallthrough i switch-clauses. |
| `noFocusedTests` | `error` | Forbyd fokuserede tests. |
| `noFunctionAssign` | `error` | Forbyd gen-tildeling af funktionsdeklarationer. |
| `noGlobalAssign` | `error` | Forbyd assignmenter til native objekter og read-only globale variabler. |
| `noGlobalIsFinite` | `error` | Brug `Number.isFinite` i stedet for global `isFinite`. |
| `noGlobalIsNan` | `error` | Brug `Number.isNaN` i stedet for global `isNaN`. |
| `noImplicitAnyLet` | `error` | Forbyd implicit any-type på variabeldeklarationer. |
| `noImportAssign` | `error` | Forbyd at tildele til importerede bindings. |
| `noImportantInKeyframe` | `error` | Forbyd ugyldigt `!important` inden for keyframe-deklarationer (CSS). |
| `noIrregularWhitespace` | `error` | Forbyd brug af uregelmæssige whitespace-tegn. |
| `noLabelVar` | `error` | Forbyd labels, der deler navn med en variabel. |
| `noMisleadingCharacterClass` | `error` | Forbyd tegn lavet med flere code points i character class-syntaks. |
| `noMisleadingInstantiator` | `error` | Håndhæv korrekt brug af `new` og `constructor`. |
| `noMisplacedAssertion` | `error` | Tjekker, at assertion-funktionen, fx expect, er placeret inden i et `it()`-funktionskald. |
| `noMisrefactoredShorthandAssign` | `error` | Forbyd shorthand-assign når variablen optræder på begge sider. |
| `noOctalEscape` | `error` | Forbyd oktale escape-sekvenser i string-literals. |
| `noPrototypeBuiltins` | `error` | Forbyd direkte brug af `Object.prototype`-builtins. |
| `noQuickfixBiome` | `error` | Forbyd brug af `quickfix.biome` i editor-settings-filen. |
| `noRedeclare` | `error` | Forbyd redeklaration af variable, funktioner, klasser og typer i samme scope. |
| `noRedundantUseStrict` | `error` | Forhindrer redundant `use strict`. |
| `noSelfCompare` | `error` | Forbyd sammenligninger hvor begge sider er identiske. |
| `noShadowRestrictedNames` | `error` | Forbyd identifikatorer der skygger restricted names. |
| `noShorthandPropertyOverrides` | `error` | Forbyd shorthand properties der overskriver relaterede longhand properties (CSS). |
| `noSkippedTests` | `error` | Forbyd deaktiverede tests. |
| `noSparseArray` | `error` | Forhindrer brug af sparse arrays (arrays med huller). |
| `noTemplateCurlyInString` | `error` | Forbyd template literal placeholder-syntaks i almindelige strenge. |
| `noThenProperty` | `error` | Forbyd then-property. |
| `noTsIgnore` | `error` | Forhindrer brug af TypeScript-direktivet `@ts-ignore`. |
| `noUnassignedVariables` | `error` | Forbyd let eller var-variabler der bliver læst men aldrig tildelt. |
| `noUnknownAtRules` | `error` | Forbyd ukendte at-rules (CSS). |
| `noUnsafeDeclarationMerging` | `error` | Forbyd usikker declaration merging mellem interfaces og klasser. |
| `noUnsafeNegation` | `error` | Forbyd brug af usikker negation (`!`). |
| `noUselessEscapeInString` | `error` | Forbyd unødvendige escapes i string-literals. |
| `noUselessRegexBackrefs` | `error` | Forbyd værdiløse backreferences i regulære udtryk-literals, der altid matcher en tom streng. |
| `noVar` | `error` | Forbyd brug af `var`. |
| `noWith` | `error` | Forbyd `with`-udsagn i ikke-strenge kontekster. |
| `useAdjacentOverloadSignatures` | `error` | Forbyd overload-signaturer, der ikke står ved siden af hinanden. |
| `useAwait` | `error` | Sørg for, at async-funktioner bruger `await`. |
| `useBiomeIgnoreFolder` | `error` | Fremmer korrekt brug af ignorering af mapper i konfigurationsfilen. |
| `useDefaultSwitchClauseLast` | `error` | Håndhæv, at default-klauser i switch-sætninger kommer sidst. |
| `useErrorMessage` | `error` | Håndhæv at der videregives en message-værdi ved oprettelse af en indbygget fejl. |
| `useGetterReturn` | `error` | Håndhæv, at get-metoder altid returnerer en værdi. |
| `useGoogleFontDisplay` | `error` | Håndhæver brug af anbefalet display-strategi med Google Fonts. |
| `useGuardForIn` | `error` | Kræv, at for-in-løkker inkluderer et `if`-statement. |
| `useIsArray` | `error` | Brug `Array.isArray()` i stedet for `instanceof Array`. |
| `useIterableCallbackReturn` | `error` | Håndhæv konsistente returværdier i iterable callbacks. |
| `useNamespaceKeyword` | `error` | Kræv brug af `namespace`-keyword frem for `module` til deklaration af TypeScript-namespaces. |
| `useNumberToFixedDigitsArgument` | `error` | Håndhæv brug af digits-argumentet med `Number#toFixed()`. |
| `useStaticResponseMethods` | `error` | Brug statiske `Response`-metoder i stedet for `new Response()` konstruktor når muligt. |
| `useStrictMode` | `error` | Håndhæv brug af direktivet `use strict` i script-filer. |

## Noter

Visse regler er deaktiveret, fordi de er for langsomme at køre sammen med Scanner. Som nævnt i [Biome-dokumentationen](https://biomejs.dev/guides/investigate-slowness/#first-things-first), er projektrelaterede regler, der er aktiveret, kendt for at forårsage performance-overhead til gengæld for mere avanceret analyse.

I vores test har vi fundet, at disse regler kan udgøre forskellen mellem en lint på 300 ms og en på 13 s.